package com.itheima.member;

import com.hzheima.util.ImageUtil;
import com.itheima.ExtendsClass.Fly;
import com.itheima.FinalCanstans;

import java.util.ArrayList;
import java.util.Random;

public class Boss extends Fly {
    private int xspeed;
//    小球的初始位置
    private  int startLoc;
    Random random = new Random();

    public ArrayList<bossBullet> getBossBullets() {
        return bossBullets;
    }

    public Boss() {
        img = ImageUtil.getImg("Boss.png");
        width = img.getWidth()/2 ;
        hight = img.getHeight()/2 ;
        x = 400;
        y = 10;
        xspeed = 3;
       startLoc = random.nextInt(2);
        if(startLoc == 0){
            xspeed = 5;
        }else if (startLoc == 1){
            xspeed = - 5;
        }

    }

    //定义一个Boss的移动方法
    //创建方法使得Boss向左移动
    public void moveBossToLeft(){
        x += xspeed;
        if (xspeed < 0 && x <= 0){
            //撞左墙
            xspeed = -xspeed;
        }
        if(xspeed > 0 && x >= FinalCanstans.APP_WIDTH -width){
            //撞右墙
            xspeed = -xspeed;
        }
    }

    //创建Boss子弹集合
    int count = 0;
    //创建一个集合用来存储发射的子弹
    ArrayList<bossBullet> bossBullets = new ArrayList<>();
    public void shootBullet0() {
        count++;
        if(count % 20 == 0){
            //创建一个子弹的对象
            bossBullet bossBullet = new bossBullet(this.x, this.y);
            //将子弹对象存到集合之中
            bossBullets.add(bossBullet);
            // 将计数器的数值重新归零
            count = 0;
            //播放子弹发射音效
            MusicUtil.playMp3("shoot.mp3");
        }
        //遍历集合取出获得集合中的每一个元素
        for (int i = 0; i < bossBullets .size(); i++) {
            bossBullet bossBullet = bossBullets.get(i);
            //调用子弹中创建的移动方法,使得集合中的每一个元素都能移动
            bossBullet.moveBossBullet();
            //判断子弹是否出界
            if(bossBullet.getY() + bossBullet.getHight() < 0){
                //调用集合中的方法删除出界的子弹
                bossBullets.remove(i);
            }
        }
    }

}
